home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Just Call Me Internet
/
Just Call Me Internet.iso
/
prog
/
atari
/
m2
/
cat3src
/
magic
/
d
/
mtbuffer.d
< prev
next >
Wrap
Text File
|
1997-10-26
|
3KB
|
69 lines
(*----------------------------------------------------------------------*
* *
* MAGICTOOLS Modula's All purpose GEM Interface Cadre Toolbox *
* ÿ ÿ ÿ ÿ ÿ *
*----------------------------------------------------------------------*
* Version 3.30 02.02.1992 (C)90/91/92 by Peter Hellinger Software *
*----------------------------------------------------------------------*
* Dieses Modul ist urheberrechtlich geschtzt. *
* *
* Die Verffentlichung des Quelltextes oder Teilen daraus, sowie die *
* Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
* oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail- *
* boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen *
* Einverstndnisserklrung des Autors. *
* *
* Die Verbreitung des Moduls als Teil eines gelinkten Programms ist *
* fr Lizenznehmer ausdrcklich erlaubt! Der Autor behlt sich das *
* Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
* widerrufen. *
*----------------------------------------------------------------------*)
(*----------------------------------------------------------------------*
* mtBuffer einfache Pufferverwaltung *
* Implementiert eine Struktur nach dem FIFO-Prinzip (First In First *
* Out) auch als Puffer oder Schlange bekannt. Durch die typlose Daten- *
* form der zu speichernden Information kann das Modul sehr flexibel *
* eingesetzt werden. Maximale Speichergre der Information ist 32kb. *
*----------------------------------------------------------------------*)
DEFINITION MODULE mtBuffer;
FROM MagicSys IMPORT Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
TYPE BUFFER;
PROCEDURE NewBuffer (VAR buffer: BUFFER): BOOLEAN;
(* Generiert einen neuen Buffer *)
PROCEDURE DisposeBuffer (VAR buffer: BUFFER);
(* Lscht einen Buffer, wenn der Buffer nicht leer ist, wird er vorher
* gelscht
*)
PROCEDURE BufferEmpty (buffer: BUFFER): BOOLEAN;
(* TRUE, wenn der Buffer leer ist *)
PROCEDURE BufferEntries (buffer: BUFFER): lCARDINAL;
(* Anzahl der Eintrge in den Puffer *)
PROCEDURE Put (buffer: BUFFER; info: ARRAY OF LOC): BOOLEAN;
(* Legt ein Element im buffer ab, FALSE wenn dabei ein Fehler auftritt *)
PROCEDURE Get (buffer: BUFFER; VAR info: ARRAY OF LOC): BOOLEAN;
(* Holt ein Element aus dem Puffer. Es wird nur kopiert, wenn die
* Datenstruktur gleich oder grer als die gespeicherte Struktur ist.
* FALSE wenn dabei ein Fehler auftritt (info zu klein, buffer leer).
* Das Element wird dabei aus dem Buffer entfernt.
*)
END mtBuffer.